package com.yyw.gulimall.member.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.yyw.common.utils.PageUtils;
import com.yyw.gulimall.member.entity.MemberEntity;
import com.yyw.gulimall.member.vo.LoginUserVo;
import com.yyw.common.to.oauth.MemberVo;
import com.yyw.gulimall.member.vo.weibo.AccessTokenResult;

import java.util.Map;

/**
 * 会员
 *
 * @author yiyw
 * @date 2020-10-24 12:09:19
 */
public interface MemberService extends IService<MemberEntity> {

    PageUtils queryPage(Map<String, Object> params);

    /**
     * 用户注册
     *
     * @param member
     */
    void registerUser(MemberEntity member);

    /**
     * 用户登录
     *
     * @param userVo
     * @return
     */
    MemberVo loginUser(LoginUserVo userVo);

    /**
     * 第三方服务登录 QQ/微博
     *
     * @param tokenResult 请求的数据
     * @param source      来源: QQ/微博
     * @return 会员信息
     */
    MemberVo oauthLoginOrRegister(AccessTokenResult tokenResult, String source);
}

